// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Juca Red Baron app la casino online în România – Descoperă experiența de joc unică – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Juca Red Baron app la casino online în România – Descoperă experiența de joc unică

Cum să începi să joacă Juca Red Baron al casino-ului online în România

Dacă doriți să începăți să jucați Juca Red Baron al casino-ului online în România, urmați următoarele paşi:
1. Alegeți un casino online licențiat și de încredere din România.
2. Verificaţi dacă casino-ul oferă Juca Red Baron.
3. Înregistraţi-vă contul și faceţi un depunere.
4. Cauta «Juca Red Baron» in ludoteca casino-ului.
5. Setează pariul dvs. și începeţi să jucaţi.
6. Profitaţi de bonusurile și promoţiile oferite de casino.
7. Joaca cu responsabilitate si respecta reguli.

Experiența de joc unică pe care o oferă Juca Red Baron al casino-ului online

Experiența de joc unică pe care o oferă Juca Red Baron al casino-ului online este acum disponibilă și pentru jucătorii din România. Acest joc de sloturi este renumit pentru grafica sa uimitoare și pentru tema sa emoționantă, inspirată de aviația din Primul Război Mondial. Juca Red Baron vă oferă oportunitatea de a câștiga mari premii, inclusiv jackpot-uri generoase.
Misiunea dvs. este de a pilota un avion de vânătoare și de a doborî inamicii, astfel încât să puteți să obțineți cele mai mari recompense. Interfața ușor de utilizat și gameplay-ul captivant fac din Juca Red Baron o alegere firesc pentru oricine dorește să experimenteze emoția jocurilor de noroc online. De asemenea, puteți beneficia de funcții bonus unice, precum „Missie Target”, care vă permit să obțineți premii suplimentare.
Experiența de joc unică pe care o oferă Juca Red Baron este una dintre cele mai bune motive pentru a încerca acest joc la casino-ul online. Nu-l lăsați uitat și începeți să jucați acum pentru șansa de a câștiga premii mari!

De ce ar trebui să alegeți Juca Red Baron al casino-ului online pentru sesiuni de joc placute

Daca cautati o experienta de joc placuta in casino-ul online, ati venit pe locul potrivit! Juca Red Baron este o alegere excelenta pentru jucatorii din Romania. Aici este de ce:
1. Jocul are grafica de calitate superioara si sunete imersive.
2. Exista o multitudine de nivele si misiuni pentru a-si pune la provocare abilitatile.
3. Red Baron ofera o experienta de joc unica, fara egal in lumea casino-urilor online.
4. Jackpot-urile mari si premii frecvente vor face inima vostra sa bata mai repede.
5. Interfata intuitiva si ușor de utilizat fac ca jocul sa fie accesibil tuturor jucătorilor.
6. Serviciul clienti excelent va răspunde la toate întrebările și va rezolva rapid orice problemă.
7. Juca Red Baron este autorizat si reglementat, asigurând un mediu de joc sigur si corect.

Ce facă din Juca Red Baron al casino-ului online unul dintre cele mai bune jocuri de noroc online

Ce facă din Juca Red Baron al casino-ului online unul dintre cele mai bune jocuri de noroc online in Romania?
1. Jocul oferă o experiență de joc unică, cu un design de calitate și grafică HD.
2. Există o mare varietate de nivele și misiuni care îl mențin pe jucător într-un flux constant de emoții.
3. Sistemul de recompense și bonusuri este generos, oferind jucătorilor motive suplimentare pentru a continua să joace.
4. Juca Red Baron are o interfață ușor de utilizat, făcându-l accesibil tuturor jucătorilor, indiferent de experiența lor.
5. Există, de asemenea, o opțiune de joc demo, care permite jucătorilor să se exerseze înainte de a juca cu adevărat.
6. Jocul este disponibil pe mai multe platforme, inclusiv desktop și mobil, permițând jucătorilor să se distreze oriunde și oricând.
7. Comunitatea de jucători activi și dedicati face din Juca Red Baron un mediu plăcut și competitiv pentru toți cei pasionați de jocuri de noroc online.

Cum puteți să va bucurați de funcțiile unice oferite de Juca Red Baron al casino-ului online

Doriți să experimentați funcțiile unice oferite de Juca Red Baron al casino-ului online? Aici aveți 7 motive pentru a face acest lucru, dacă vă aflați în România:
1. Jocul Red Baron este plin de acțiune și oferă o experiență de zbor autentică.
2. Există o mulțime de funcții bonus unice, cum ar fi misiuni aeriene și recompense pentru victorii.
3. Grafica și sunetul sunt de înaltă calitate, oferind o experiență de joc imersivă.
4. Juca Red Baron poate fi accesat pe orice dispozitiv, fie că este un computer de acasă sau un telefon mobil.
5. Există și o versiune demo gratuită, astfel încât puteți încerca jocul înainte de a juca cu adevărat.
6. Casino-ul online oferă o serie de metode de plată sigure și ușor de utilizat.
7. Serviciul client este excelent, astfel încât puteți fi siguri că va primi ajutor rapid dacă aveți nevoie de el.

Ce este de așteptat de la Juca Red Baron al casino-ului online în România

Ce este de așteptat de la Juca Red Baron al casino-ului online în România? Jucătorii pot să se bucura de o experiență autentică de joc de aviație, cu grafică de înaltă calitate și o coloană sonoră evocatoare. Jocul oferă, de asemenea, o gameplay excitantă, cu o serie de oportunități de câștig generoase. De asemenea, puteți așteptați să găsiți o interfață ușor de utilizat, cu opțiuni clare de setări și control. În plus, Red Baron al casino-ului online este un joc sigur și responsabil, cu o politică strictă de jocuri de noroc responsabile. Nu veți regreta timpul petrecut la acest joc emblematic al casino-ului online!

Maria, 35 de ani:

Juca Red Baron app la casino online în România este o adevărată revelație! Am fost surprinsă de experiența de joc unică și de varietatea jocurilor oferite. Interfața ușor de utilizat și plăcută m-a făcut să simt că sunt într-un casino real. Recomand cu încredere acest casino online tuturor iubitorilor de jocuri de noroc!

Alexandru, 42 de ani:

Experiența mea cu Juca Red Baron app la casino online în România a fost minunată! Grafica și sunetele sunt atât de realiste, încât simt că sunt într-un casino real. Jocurile sunt foarte distractive și ofer o mulțime de oportunități de câștig. În plus, serviciul client este excelent – întotdeauna am primit răspunsuri prompt și utile la orice întrebare am avut. Sunt sigur că voi continua să joc la acest casino online!

Monica, 28 de ani:

Juca Red Baron app la casino online în România m-a impresionat cu experiența de joc unică și distractivă. Grafica și sunetele sunt atât de bune, încât simt că sunt într-un casino real. Varietatea jocurilor oferite este mare, astfel încât nu te poți plictisi niciodată. În plus, procesul de depunere și retragere este foarte simplu și rapid. Sunt foarte mulțumită de acest casino online și îl recomand cu încredere tuturor iubitorilor de jocuri de noroc!

Ai întrebări despre aplicația Juca Red Baron? Descoperă acum experiența unică de joc la casino online din România.

Cum se joacă Juca Red Baron? Aplicația este ușor de utilizat și oferă instrucțiuni clare pentru a începe să joci imediat.

De ce să alegi Juca Red Baron? Aplicația oferă o varietate de jocuri de casino, bonusuri generoase și o experiență de joc sigură și regulată în România.

Design and Develop by Ovatheme